setlocale, localeconv[select or query locale]

Contents|Index|Previous|Next

setlocale, localeconv
[select or query locale]

    SYNOPSIS
    #include <locale.h>
    char *setlocale(int category, const char *locale);
    lconv *localeconv(void);

    char *_setlocale_r(void *reent, int category, const char *locale);
    lconv *_localeconv_r(void *reent);

DESCRIPTION
setlocale is the facility defined by ANSI C to condition the execution environment for international collating and formatting information; localeconv reports on the settings of the current locale.

This is a minimal implementation, supporting only the required `“C”` value for locale; since strings representing other locales are not honored, unless MB CAPABLE is defined, in which case three new extensions are allowed for LC CTYPE only: “C-JIS”, “C-EUCJP”, and “C-SJIS”. (“ ” is also accepted, representing a default locale for an implementation, equivalent to ”C”.)

If you use NULL as the locale argument, setlocale returns a pointer to the string representing the current locale (always `“C”` in this implementation). The acceptable values for category are defined in locale.h as macros beginning with `“LC”` although this implementation does not check the values you pass in the category argument.

localeconv returns a pointer to a structure (also defined in locale.h) describing the locale-specific conventions currently in effect._localeconv_r and _setlocale_r are reentrant versions of, respectively, localeconv and setlocale. The extra argument, reent, is a pointer to a reentrancy structure.

RETURNS
setlocale returns either a pointer to a string naming the locale currently in effect (always “C” for this implementation), or, if the locale request cannot be honored, NULL.

localeconv returns a pointer to a structure of type lconv, which describes the formatting and collating conventions in effect (in this implementation, always those of the C locale).

COMPLIANCE
ANSI C requires setlocale, but the only locale required across all implementations is the C locale.

No supporting OS subroutines are required.